#include "carte.h"


#include <QtCore/QString>
#include <QtGui/QGraphicsPixmapItem>

#include <QtCore/QDebug>

Carte::Carte(int pValeur, pc::couleur pCouleur, pc::valeurSpec pValeurSpec) : m_valeur(pValeur), m_couleur(pCouleur), m_valeurSpec(pValeurSpec){
    // On construit le "path" de l'image en ressources de la carte'
    QString cardPath = ":/";

    // Couleur de la carte
    if (m_couleur == pc::Carreaux)
        cardPath += "Carreau/Images/Cartes_carreaux/";
    else if (m_couleur == pc::Coeur)
        cardPath += "Coeur/Images/Cartes_coeurs/";
    else if (m_couleur == pc::Pique)
        cardPath += "Pique/Images/Cartes_pique/";
    else if (m_couleur == pc::Trefle)
        cardPath += "Trefle/Images/Cartes_trefle/";
    else if (m_couleur == pc::Atout)
        cardPath += "Atout/Images/Cartes_atout/";

    // Valeur
    if (m_valeur != -1)
        cardPath += QString::number(m_valeur);
    else if (m_valeurSpec == pc::Valet)
        cardPath += "V";
    else if (m_valeurSpec == pc::Cavalier)
        cardPath += "C";
    else if (m_valeurSpec == pc::Dame)
        cardPath += "Q";
    else if (m_valeurSpec == pc::Roi)
        cardPath += "K";
    else if (m_valeurSpec == pc::Excuse)
        cardPath += "Excuse";

    cardPath += ".png";

    m_image = new QGraphicsPixmapItem((new QPixmap(cardPath))->scaled(40,100));
    m_image->setZValue(1);
}

/*! \brief Retourne la valeur de la carte.

    Retourne la valeur de la carte.
    Si -1, la valeur de la carte est une valeur spéciale.
*/
int Carte::getValeur() {
    return m_valeur;
}

/*! \brief Retourne le couleur de la carte.

    Retourne la couleur de la carte.

    \see pc::couleur
*/
pc::couleur Carte::getCouleur() {
    return m_couleur;
}

/*! \brief Retourne la valeur spéciale de la carte.

    Retourne la valeur spéciale de la carte.
    Si pc::None, la valeur est
    \see pc::valeurSpec
*/
pc::valeurSpec Carte::getvaleurSpec() {
    return m_valeurSpec;
}
